<template>
	<view class="login">
		<!-- <image class="login-image" src="../../static/image/login.png" mode=""></image> -->
		<text class="login-title">👏 欢迎来到UC海归俱乐部</text>
	    <text class="login-title-info"></text> 
		<button open-type="getUserInfo" @getuserinfo="wxGetUserInfo" hover-class="clsss_hover" class="btn-login"><text class="iconfont">&#xe61c;</text>
			微信授权登陆</button>
	</view>
</template>

<script>
	import {
		userApi,
		authApi
	} from '../../ajax/api.js'
	import Ajax from '../../ajax/index'

	export default {
		data() {
			return {
				checked: true,
				isLogin: false,
				shareId: null, // 分享的id
			}
		},
		methods: {
			//登录
			login(referee_id, detail_id) { //detail_id
				let _this = this;
				// 1.wx获取登录用户code
				uni.login({
					provider: 'weixin',
					success: async function(loginRes) {
						console.log(loginRes.code);
						let code = loginRes.code;
						if (uni.getStorageSync('isCanUse')) {
							//非第一次授权获取用户信息
							uni.getUserInfo({
								provider: 'weixin',
								success: async function(infoRes) {
									let newData = {
										iv: infoRes.iv,
										encryptedData: infoRes.encryptedData,
										code: loginRes.code,
										inviteuserid: _this.shareId
									}
									let {
										code,
										data
									} = await Ajax({
										url: userApi.userLogin,
										data: newData,
										method: 'POST'
									})
									if (code === 0) {
										uni.setStorageSync('openid', data.openid)
										uni.setStorageSync('userid', data.userid)
										uni.setStorageSync('isCanUse', true)
										uni.switchTab({
											url: '/pages/index/index'
										})
									}
									//获取用户信息后向调用信息更新方法
									// let nickName = infoRes.userInfo.nickName; //昵称
									// let avatarUrl = infoRes.userInfo.avatarUrl; //头像
									// _this.updateUserInfo(); //调用更新信息方法
									// _this.isLogin = true;
								}
							});
						} else {

							// _this.isLogin = true;
						}
						
						//2.将用户登录code传递到后台置换用户SessionKey、OpenId等信息
						if (uni.getStorageSync('userinfo')) { // 如果本地获取过权限
							let newData = {
								iv: uni.getStorageSync('iv'),
								encryptedData: uni.getStorageSync('encrypted_data'),
								code: loginRes.code,
								inviteuserid: _this.shareId
							}
							console.log(newData)
							let {
								code,
								data
							} = await Ajax({
								url: userApi.userLogin,
								data: newData,
								method: 'POST'
							})
							if (code === 0) {
								uni.setStorageSync('openid', data.openid)
								uni.setStorageSync('userid', data.userid)
								uni.setStorageSync('isCanUse', true)
								uni.switchTab({
									url: '/pages/index/index'
								})
							}
							// referee_id ? data.referee_id = referee_id : null
							// uni.request({
							// 	url: userApi.userLogun + '?ver='+`${VERSION}`+'&app_id='+appID,
							// 	data: data,
							// 	method: 'GET',
							// 	header: {
							// 		'content-type': 'application/json'
							// 	},
							// 	success: async (res) => {
							// 		// if (res.data.code === -1) { // 如果还没有通过邀请码验证
							// 		// 	// 去授权
							// 		// 	uni.redirectTo({
							// 		// 		url: `/pages/login/register?logo=invitation`
							// 		// 	});
							// 		// }
							// 		// if (res.data.code === '1' && res.data.data) {
							// 		// 	uni.setStorageSync('token', res.data.data.token)
							// 		// 	uni.setStorageSync('user_id', res.data.data.user_id)
							// 		// 	getApp().globalData.user_id = res.data.data.user_id
							// 		// 	let {
							// 		// 		code,
							// 		// 		data
							// 		// 	} = await Ajax({
							// 		// 		url: userApi.userInfo
							// 		// 	})
							// 		// 	if (Number(code) === 1 && data.info && data.info.phone) { // 有手机号
							// 		// 		if (referee_id && detail_id && detail_id != 0) { // 有锁粉id
							// 		// 			uni.navigateTo({
							// 		// 				url: `../detail/index?id=${detail_id}`
							// 		// 			});
							// 		// 		} else {
							// 		// 			uni.switchTab({
							// 		// 				url: '../index/index'
							// 		// 			})
							// 		// 		}
							// 		// 	} else { // 有可能是其他地方扫码进来的先做手机号授权
							// 		// 		uni.redirectTo({
							// 		// 			url: `/pages/login/register?logo=index`
							// 		// 		});
							// 		// 	}
							// 		// }
							// 		// _this.isLogin = true;
							// 	},
							// 	fail: (err) => {
							// 		console.log(err)
							// 	}
							// });
						} else {
							// _this.isLogin = true;
						}
					},
				});
			},
			wxGetUserInfo() {
				if (!this.checked) {
					return uni.showToast({
						icon: 'none',
						title: '请同意用户授权协议'
					})
				}
				let _this = this;
				uni.getUserInfo({
					provider: 'weixin',
					success: function(infoRes) {
						console.log(infoRes)
						let wxUserInfo = JSON.parse(infoRes.rawData)
						let userinfo = {
							nick_name: wxUserInfo.nickName,
							avatar_url: wxUserInfo.avatarUrl,
							gender: wxUserInfo.gender,
							iv: wxUserInfo.iv,
							encryptedData: wxUserInfo.encryptedData,
							phone: '',
							country: wxUserInfo.country,
							province: wxUserInfo.province,
							city: wxUserInfo.city,
							district: wxUserInfo.district // 地区
						}
						uni.setStorageSync('userinfo', JSON.stringify(userinfo))
						uni.setStorageSync('encrypted_data', infoRes.encryptedData)
						uni.setStorageSync('iv', infoRes.iv)
						let nickName = infoRes.userInfo.nickName; //昵称
						let avatarUrl = infoRes.userInfo.avatarUrl; //头像
						try {
							if (uni.getStorageSync('isCanUse')) {

							} else {
								uni.setStorageSync('isCanUse', false); //记录是否第一次授权  false:表示不是第一次授权 _this.referee_id, _this.detail_id
							}
							_this.login();
						} catch (e) {}
					},
					fail(res) {}
				});
			}
		},
		onLoad(option) {
			console.log(option)
			this.shareId = option.shareId
		}
	}
</script>

<style lang="less">
	.login {
		.btn-login {
			position: fixed;
			width: 91%;
			left: 4.5%;
			bottom: 100rpx;
			//background: linear-gradient(91.59deg, #FC5C7D 0%, #6B7FFF 100%);
			background-color: #402F47;
			box-shadow: 0px 4px 10px rgba(127, 115, 227, 0.3);
			border-radius: 27px;
			font-size: 16px;
			color: #FFFFFF;
			display: flex;
			align-items: center;
			justify-content: center;

			.iconfont {
				margin-right: 16rpx;
				font-size: 40rpx;
			}
		}

		.login-image {
			width: 614rpx;
			height: 466rpx;
			display: block;
			margin: 140rpx auto 0;
		}

		.login-title {
			text-align: center;
			font-weight: 600;
			font-size: 50rpx;
			line-height: 31px;
			text-align: center;
			letter-spacing: -0.6px;
			display: block;
			width: 100%;
			color: #181920;
			padding: 500rpx 0 30rpx 0;
		}

		.login-title-info {
			text-align: center;
			display: block;
			font-size: 30rpx;
			line-height: 40rpx;
			text-align: center;
			color: #626579;
			padding: 0 88rpx;
		}
	}
</style>
